package org.microframework.cloud.logs.service;

import org.microframework.base.core.web.page.PageQuery;
import org.microframework.cloud.logs.model.domain.OperationLog;

import com.jfinal.plugin.activerecord.Page;

/**
 * 操作日志服务接口
 * @author zs
 * @version 1.0.0
 * @date 2024-05-21
 */
public interface IOperationLogService {

    /**
     * 记录操作日志
     * 
     * @param operLog 操作日志信息
     * @return 是否成功
     */
    boolean insertOperationLog(OperationLog operLog);

    /**
     * 查询操作日志列表
     * 
     * @param operLog 查询条件
     * @param pageRequest 分页参数
     * @return 分页结果
     */
    Page<OperationLog> selectOperationLogList(OperationLog operLog, PageQuery<OperationLog> pageRequest);

    /**
     * 批量删除操作日志
     * 
     * @param ids 需要删除的操作日志ID数组
     * @return 删除数量
     */
    int deleteOperationLogByIds(String[] ids);

    /**
     * 查询操作日志详细信息
     * 
     * @param id 操作ID
     * @return 操作日志对象
     */
    OperationLog selectOperationLogById(String id);

    /**
     * 清空操作日志
     * 
     * @return 是否成功
     */
    boolean cleanOperationLog();
} 